<?php

use magein\think\migration\Migrator;

class CreatePayOrdersTable extends Migrator
{
    /**
     * Change Method.
     *
     * Write your reversible migrations using this method.
     *
     * More information on writing migrations is available here:
     * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
     *
     * 以下命令可以在此方法中使用，Phinx 将在回滚时自动反转它们:
     *
     *    createTable
     *    renameTable
     *    addColumn
     *    renameColumn
     *    addIndex
     *    addForeignKey
     *
     * 如果希望实现自动升级降级，那就把逻辑写在change方法里，只最终调用create和update方法，不要调用save方法
     *
     * 创建使用 create()、更新使用 update()
     */

    protected $name = 'pay_orders';

    public function change()
    {
        $table = $this->init();
        $table->id();
        $table->char('pay_no', '支付编号', 28)->unique();
        $table->string('order_no', '平台订单编号', 64);
        $table->string('channel_id', '渠道', 30);
        $table->string('platform_id', '支付平台', 30);
        $table->integerTiny('scene', '场景 1 支付订单 order 2 充值 recharge')->default(1);
        $table->string('user_id', '用户信息')->default('');
        $table->string('subject', '交易标题')->default('');
        $table->string('platform_id', '交易平台');
        $table->string('appid', '收款账号');
        $table->string('merchant_id', '收款账号')->default('');
        $table->string('trade_no', '第三方交易编号')->default('');
        $table->string('trade_type', '平台交易方式 支付宝的签约产品product_code，微信的jsapi、native等')->default();
        $table->integer('total_amount', '交易总金额 单位分');
        $table->integer('coupon_amount', '优惠金额 单位分');
        $table->text('coupon_info', '优惠信息')->nullable();
        $table->integerTiny('result', '交易结果 0 等待中 pending 1 成功 success -1 失败 fail')->default(0);
        $table->string('reason', '交易失败原因')->default('');
        $table->string('remark', '交易备注')->default('');
        $table->timestamp('notify_date', '异步通知时间')->nullable();
        $table->text('notify_data', '异步通知参数')->nullable();
        $table->string('notify_url', '支付完成后通知的地址')->default();
        $table->string('return_url', '支付完成后跳转的地址')->default();

        $this->create($table);
    }
}
